package com.online.web.shiro.util.lang;

import java.util.Map;

import org.apache.commons.lang3.math.NumberUtils;

/**
 * 处理分页查询参数
 * 
 * @author li.hao
 */
public class PageUtils {

	public static Map<String, Object> processPage(Map<String, Object> params) {
		int pageNo;// 当前第几页
		int pageLimit;// 每页显示多少条数据

		if (params.get("rows") == null || !NumberUtils.isDigits(params.get("rows").toString())) {
			params.put("rows", 20);
		}
		if (params.get("page") == null || !NumberUtils.isDigits(params.get("page").toString())) {
			params.put("page", 1);
		}

		pageNo = Integer.parseInt(params.get("page").toString());
		pageLimit = Integer.parseInt(params.get("rows").toString());

		params.put("start", (pageNo - 1) * pageLimit);
		params.put("limit", pageLimit);
		return params;
	}

	/** 处理Oracle分页查询参数 */
	public static Map<String, Object> processOralcePage(Map<String, Object> params) {
		int pageNo;// 当前第几页
		int pageLimit;// 每页显示多少条数据

		if (params.get("rows") == null || !NumberUtils.isDigits(params.get("rows").toString())) {
			params.put("rows", 20);
		}
		if (params.get("page") == null || !NumberUtils.isDigits(params.get("page").toString())) {
			params.put("page", 1);
		}
		
		pageNo = Integer.parseInt(params.get("page").toString());
		pageLimit = Integer.parseInt(params.get("rows").toString());

		params.put("start", (pageNo - 1) * pageLimit);
		params.put("end", pageNo * pageLimit);
		return params;
	}

}
